/**	\file 
 *	\brief OpenCL Administrativia.
 */

#ifndef OCL_DRIVER_INCLUDED
#define OCL_DRIVER_INCLUDED 1


#include "../ocl/platform.h"

/** \brief All platforms with their devices */
typedef struct
{
	cl_uint         num_platforms; /*!< #platforms                */
	cl_platform_id *platforms_id;  /*!< their id                  */
	ocl_platform   *platforms;     /*!< associated ocl_platforms  */
	cl_uint         reserved;      /*!< reserved for initializing */
	cl_uint         num_devices;   /*!< total number of devices   */
} ocl_driver;

ocl_driver *ocl_driver_load(void);
void        ocl_driver_quit(void);

ocl_device *ocl_driver_device( cl_device_id id );


#endif
